package com.kele.system.mapper;

import com.kele.system.model.dto.RoleDto;
import com.kele.system.model.entity.Role;
import com.kele.system.model.entity.UserRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.BaseMapper;

import java.util.List;

/**
 * @Description:
 * @Author: Kele
 * @CreateDate: 2023/4/26 14:40
 * @Version:
 */
@Mapper
public interface RoleMapper extends BaseMapper<Role> {

    /**
     * 根据用户ID查询用户角色信息
     * @param userId
     * @return java.util.List<com.kele.system.model.entity.Role>
     * @author: Kele
     * @date 2023/4/26 14:53
     */
    List<Role> getRoleByUserId(String userId);

    /**
     * 获取所有的角色信息
     * @param
     * @return java.util.List<com.kele.system.model.dto.RoleDto>
     * @author: Kele
     * @date 2023/4/26 15:08
     */
    List<RoleDto> getAllRole();

    /**
     * 根据用户ID删除用户的所有角色
     * @param userId
     * @return int
     * @author: Kele
     * @date 2023/4/26 15:34
     */
    int deleteUserRole(String userId);

    /**
     * 批量插入角色用户关系
     * @param userRoles
     * @return int
     * @author: Kele
     * @date 2023/4/26 15:55
     */
    int batchInsert(@Param("userRoles") List<UserRole> userRoles);
}
